//Ajax Function
	var reqObj; //Creat Null Instence
	var RequestArray = new Array();
	//var whichRequest;
	//�����������
	function AddRequestArray(url, isAsy, method, parStr, callBackFun)
	{
		var ArgItem = new Array();

		ArgItem[0] = url;

		ArgItem[1] = isAsy;

		ArgItem[2] = method;

		ArgItem[3] = parStr;

		ArgItem[4] = callBackFun;

		RequestArray.push(ArgItem); //����ǰ������ӵ�����ĩβ

		if (RequestArray.length == 1) //������������ֻ�е�ǰ��������Ҫ��ִ�ж��У����������������ô�Ͳ�Ҫ��ִ�ж���
		{
			ExeRequestArray();
		}

	}

	//ִ�ж������˳���һ��������

	function ExeRequestArray()

	{

		if (RequestArray.length > 0) //��������������ִ�� AJAX����

		{

			var ArgItem = RequestArray[0];

			DoRequest(ArgItem[0], ArgItem[1], ArgItem[2], ArgItem[3],
					ArgItem[4]);

		}

	}

	//Run Ajax (string urladdress,bool IsAsy,string method,string parameters,string whichRequest)

	function DoRequest(url, isAsy, method, parStr, callBackFun)

	{

		reqObj = false;

		//whichRequest = whichReq;
		if (window.XMLHttpRequest) //compatible Mozilla, Safari,...
		{
			reqObj = new XMLHttpRequest(); //Creat XMLHttpRequest Instance
			if (reqObj.overrideMimeType) //if Mime Type is false ,then set MimeType 'text/xml'

			{
				reqObj.overrideMimeType('text/xml');
			}
		}

		else if (window.ActiveXObject) //compatible IE
		{
			try {
				reqObj = new ActiveXObject("Msxml2.XMLHTTP"); //Creat XMLHttpRequest Instance
			} catch (e) {
				try {
					reqObj = new ActiveXObject("Microsoft.XMLHTTP"); //Creat XMLHttpRequest Instance
				} catch (e) {
				}
			}
		}
		//if reqObj is false,then alert warnning
		if (!reqObj) {
			alert('Giving up :( Cannot create an XMLHTTP instance');
			return false;
		}
		reqObj.onreadystatechange = function() {
			GetRequest(callBackFun);
		}; //set onreadystatechange Function
			//alert("callBackFun= "+callBackFun);
		reqObj.open(method, url, isAsy); //set open Function
		reqObj.setRequestHeader('Content-Type',
				'application/x-www-form-urlencoded'); //set RequestHeader
		reqObj.send(parStr); //do send and send parameters
	}

	//get Service Response information Function
	function GetRequest(callBackFun)
	{
		//judge readystate information
		if (reqObj.readyState == 4) {
			//judge status information
			if (reqObj.status == 200)

			{
				//eval(callBackFun + "(reqObj)");//��������⣬ֱ��д��������ʽ 
				callBackFun();
			}

			else

			{
				alert('There was a problem with the request.' + reqObj.status
						+ "CallFunction:" + callBackFun); //else alert warnning
			}

			RequestArray.shift(); //�Ƴ�������˳���һ�������󣬼���ǰ�Ѿ�ִ����ɵ�����

			ExeRequestArray(); //Ҫ��ִ�ж����е����� 
		}

	}